package com.gzc.just.play.last.war.centralserver.achievement;

/**
 * 成就类型枚举 - 定义各种成就类型
 * 
 * @author AI编程助手
 * @version 1.0
 */
public enum AchievementType {
    
    /**
     * 战斗相关成就
     */
    BATTLE_VICTORY("战斗胜利", "赢得战斗"),
    FIRST_VICTORY("首次胜利", "赢得第一场战斗"),
    STREAK_VICTORIES("连胜", "连续赢得N场战斗"),
    
    /**
     * 击杀相关成就
     */
    FIRST_BLOOD("首杀", "赢得第一次击杀"),
    KILLING_SPREE("杀戮狂欢", "一场战斗中获得多次击杀"),
    TOTAL_KILLS("累计击杀", "累计击杀数达到目标"),
    
    /**
     * 等级相关成就
     */
    LEVEL_UP("升级", "升到新等级"),
    REACH_LEVEL_10("等级10", "达到等级10"),
    REACH_LEVEL_50("等级50", "达到等级50"),
    REACH_LEVEL_100("等级100", "达到等级100"),
    
    /**
     * 经济相关成就
     */
    EARN_GOLD("赚取金币", "获得指定数量的金币"),
    FIRST_PURCHASE("首次购买", "第一次购买物品"),
    
    /**
     * 社交相关成就
     */
    MAKE_FRIEND("交朋友", "添加第一个朋友"),
    JOIN_TEAM("加入队伍", "加入第一个队伍"),
    
    /**
     * 探索相关成就
     */
    EXPLORE_MAP("探险家", "探索所有地图"),
    DISCOVER_SECRET("发现秘密", "发现隐藏区域"),
    
    /**
     * 收集相关成就
     */
    COLLECT_ITEMS("收集家伙", "收集指定物品"),
    COLLECT_HEROES("收集英雄", "收集指定英雄数量"),
    
    /**
     * 其他成就
     */
    SPECIAL_EVENT("特殊事件", "完成特殊任务"),
    HIDDEN_ACHIEVEMENT("隐藏成就", "隐藏成就类型");
    
    private final String displayName;
    private final String description;
    
    AchievementType(String displayName, String description) {
        this.displayName = displayName;
        this.description = description;
    }
    
    /**
     * 获取显示名称
     * 
     * @return 显示名称
     */
    public String getDisplayName() {
        return displayName;
    }
    
    /**
     * 获取描述
     * 
     * @return 描述信息
     */
    public String getDescription() {
        return description;
    }
}
